POV-Ray : Newsgroups : povray.newusers : Make it shorter. : Re: Make it shorter. Server Time
30 Jul 2024 08:20:56 EDT (-0400)
  Re: Make it shorter.  
From: Tor Olav Kristensen
Date: 11 Aug 2004 18:49:30
Message: <411aa27a$1@news.povray.org>
Oleguer Vilella wrote:
> Hello,
> 
> Well, if you render my picture you will see a very large membrane. I want
> make it shorter, for example: if it's 14cm I will make it 10cm. You don't
> have to look my web site, only you should run the code that I have sent in
> the group. Do you understand me??

I'm not sure if I understand you, but below is my best try at
guessing what you want.

Note that I wasn't referring to any images on your website.
I was just thinking that maybe you had seen something similar
somewhere else on the internet that could give me a clue on what
you want.


Tor Olav

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#version 3.6;

#include "colors.inc"
#include "textures.inc"

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#macro MakeMany(Stuff, xSpc, zSpc, xNr, zNr, xFreq, zFreq, Ampl)

   #local xStart = -xNr/2*xSpc;
   #local zStart = -zNr/2*zSpc;

   #local xCnt = 0;
   #while (xCnt < xNr)
     #local zCnt = 0;
     #while (zCnt < zNr)
       #local xPos = xStart + xCnt*xSpc;
       #local yPos =
         Ampl*sin(xFreq*xCnt/xNr*2*pi)*cos(zFreq*zCnt/zNr*2*pi);
       #local zPos = zStart + zCnt*zSpc;
       object {
         Stuff
         translate <xPos, yPos, zPos>
       }
       #local zCnt = zCnt + 1;
     #end // while
     #local xCnt = xCnt + 1;
   #end // while

#end // macro MakeMany

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#declare Finish =
   finish {
     ambient 0.2
     diffuse 0.8
     phong 1
   }

#declare RedTexture =
   texture {
     pigment { color Red }
     finish { Finish }
   }

#declare WhiteTexture =
   texture {
     pigment { color White }
     finish { Finish }
   }

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#declare Lipid =
   blob {
     threshold 0.1
     sphere {
       <0, 5, 0>, 2, 1
       texture { RedTexture }
     }
     sphere {
       <0, -5, 0>, 2, 1
       texture { RedTexture }
     }
     cylinder {
       <0.8, 5, 0>, <0.8, -5, 0>, 0.5, 1
       texture { WhiteTexture }
     }
     cylinder {
       <-0.8, 5, 0>, <-0.8, -5, 0>, 0.5, 1
       texture { WhiteTexture }
     }
   }

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#declare X_Spacing = 3;
#declare Z_Spacing = 4;
#declare X_Copies = 20;
#declare Z_Copies = 30;
#declare X_Frequency = 1;
#declare Z_Frequency = 2;
#declare Amplitude = 5;

union {
   MakeMany(
     Lipid,
     X_Spacing, Z_Spacing,
     X_Copies, Z_Copies,
     X_Frequency, Z_Frequency,
     Amplitude,
   )
//  rotate 30*y
}

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

background { color Blue/2 }

camera {
//  orthographic
   location <0, 1, -4>*30
   look_at <0, -6, 0>
}

light_source {
   <2, 1, -1>*100
   color White
   shadowless
}

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.